The present invention relates generally to supporting add-on devices associated with a computing system.
Add-on devices, or computer optional hardware modules, typically enhance the capabilities of computing system. In other words, incorporating add-on devices into a computing system improves the functionality and/or the performance of the computing system. Many add-on devices require system resources of the computing system, such as those associated with a direct memory access (DMA) feature, an interrupt request (IRQ) feature, an input/output (I/O) feature, a memory mapped I/O (MMIO) feature, and the like. A system basic-input-output-system (BIOS) running on a computing system when an add-on device is incorporated or plugged into the computing system generally manages the system resources during a power on self test (POST), and is substantially responsible for allocating the system resources to the add-on device.
Many add-on devices utilize memory, as for example to execute code and to store data. The memory used by such add-on devices may either be memory “on-board” the add-on devices, or system memory associated with a computing system into which the add-on device has been incorporated.